<?

//! Classe Modulo para o Professor
/*!
    Modulo que permite gerenciar professores do sistema.
*/
class ModuloProfessor extends Modulo
{

    function tratarEventosGet($evento, &$tela, $get)
    {
        // Todas as paginas conterao o menu superior, uma tela geral
        // ira estar sempre presente, e uma tela interna definida em paginainterna
        $tela->setPagina('modulos/professor/professor.html');
        $professor = new Professor();

        switch ($evento) {

        case EVT_CONSULTAR_PROFESSOR:
            $tela->setDado('registros', $professor->consultarTodos());
            $tela->setCampo('paginainterna', 'modulos/professor/professor_consulta.html');

            return true;

        case EVT_REMOVER_PROFESSOR:
            if ($professor->excluir($get['codigo'])) {
                $tela->setCampo('mensagem', 'Exclusao com sucesso');
            } else {
                $tela->setCampo('mensagem', 'Erro ao excluir '.$get["login"]);
            }

            $tela->setDado('registros', $professor->consultarTodos());
            $tela->setCampo('paginainterna', 'modulos/professor/professor_consulta.html');

            return true;

        case EVT_INCLUIR_PROFESSOR:
            $tela->setCampo('paginainterna', 'modulos/professor/professor_inclusao.html');

            return true;

        case EVT_ALTERAR_PROFESSOR:
            $tela->setDado('registros', $professor->consultarUnico($get['codigo']));
            $tela->setCampo('paginainterna', 'modulos/professor/professor_alteracao.html');

            return true;
            
        case EVT_IMPRIMIR_PROFESSOR:
            $tela->setDado('registros', $professor->consultarTodos());         
            $tela->setCampo('paginainterna', 'modulos/professor/professor_impressao.html');
            
            return true;
            
        default:
            return false; // Indica que o evento nao e deste modulo, passa adiante

        }
    }

    function tratarEventosPost($evento, &$tela, $post)
    {
        // Todas as paginas conterao o menu superior, uma tela geral
        // ira estar sempre presente, e uma tela interna definida em paginainterna
        
        $tela->setPagina('modulos/professor/professor.html');
        $professor = new Professor();

        switch ($evento) {

        case EVT_CONSULTAR_PROFESSOR:
            $registros = $professor->consultar(
                $post["nome"]              
            );

            $tela->setDado('registros', $registros);
            $tela->setCampo('paginainterna', 'modulos/professor/professor_consulta.html');

            return true;

        case EVT_INCLUIR_PROFESSOR:
            if (($post["nome"] != "") && ($post["mae"] != "") &&
                ($post["dataAdmissao"] != "") && ($post["dataNascimento"] != ""))
            {
                if ($professor->incluir($post["nome"],$post["endereco"],$post["bairro"],$post["cidade"],$post["cep"],$post["uf"],$post["tipoAdmissao"],$post["dataAdmissao"],$post["telefone"],$post["celular"],$post["dataNascimento"],$post["naturalidade"],$post["nacionalidade"],$post["mae"]))
                {
                    $tela->setCampo('mensagem', 'Incluido com sucesso');
                }
            } else {
                $tela->setCampo('mensagem', 'Erro ao incluir professor '.$post["nome"].'. Campos obrigatórios não foram preenchidos.');
            }

            $tela->setCampo('paginainterna','modulos/professor/professor_inclusao.html');

            return true;

        case EVT_ALTERAR_PROFESSOR:
            if ($post["codigo"] != "")
            {
             if ($professor->alterar($post["codigo"],$post["nome"],$post["endereco"],$post["bairro"],$post["cidade"],$post["cep"],$post["uf"],$post["tipoAdmissao"],$post["dataAdmissao"],$post["tipoDesligamento"],$post["dataDesligamento"],$post["telefone"],$post["celular"],$post["dataNascimento"],$post["naturalidade"],$post["nacionalidade"],$post["mae"]))
             {
                 $tela->setCampo('mensagem', 'Alterado com sucesso ');
             } else {
                 $tela->setCampo('mensagem', 'Erro ao alterar');
             }
            } else {
                 $tela->setCampo('mensagem', 'Erro ao alterar, não foi selecionado o professor');
            }     
            $tela->setDado('registros', $professor->consultarTodos());
            $tela->setCampo('paginainterna','modulos/professor/professor_consulta.html');

            return true;
            
        default:
            return false; // Indica que o evento nao e deste modulo, passa adiante

        }
    }

}

?>
